package com.company.project.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.company.project.pojo.contradiction.Contradiction;
import com.baomidou.mybatisplus.extension.service.IService;
import com.company.project.pojo.contradiction.ContradictionDTO;
import com.company.project.pojo.roleVillage.RoleVillageDTO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 矛盾 服务类
 * </p>
 *
 * @author 任建波
 * @since 2019-08-09
 */
public interface IContradictionService extends IService<Contradiction> {

    /*获取矛盾资料列表*/
    IPage<ContradictionDTO> getContradictionListPage(Page page, String keyword, Integer status, Integer isPush, String startTime, String endTime);
    /**查询推送给单位的矛盾资料*/
    IPage<ContradictionDTO> getContradictionListByHandleInstitutionId(Page page, List<RoleVillageDTO> roleVillageDTOList, Integer institutionId, Integer roleId, Integer status);
    /**根据角色id查询矛盾资料*/
    IPage<ContradictionDTO> getContradictionListByRoleId(Page page, List<RoleVillageDTO> roleVillageDTOList, Integer institutionId, Integer roleId, Integer status, String startTime, String endTime);
    /**获取管理区统计*/
    List<ContradictionDTO> getManagementzoneStatistics(String startTime, String endTime);
    /**获取职能部门统计*/
    List<ContradictionDTO> getDepartmentsStatistics(Integer institutionId, String startTime, String endTime);
    /**根据管理区获取村庄统计*/
    List<ContradictionDTO> getVillageStatistics(Integer institutionId, Integer villageId, String startTime, String endTime);
    /**查询待提交的矛盾资料*/
    IPage<ContradictionDTO> getToBeSubmittedContradictionList(Page page, Integer user_id);
    /**获取登录人提交的矛盾资料列表*/
    IPage<ContradictionDTO> getContradictionListPageByInputUserId(Page page, Integer user_id, Integer status, String startTime, String endTime);
}
